import request from '@/config/axios'

// ERP 一级库库存 VO
export interface PriStockVO {
  id: number // 编号
  warehouseId: string // 仓库编号
  productId: string // 产品编号
  productUnitId: number // 产品单位
  productUnitName: string // 产品单位
  productStandards: string // 产品规格
  productName: string // 产品名称
  deptId: string // 单位id
  productPrice: number // 产品单价
  productBatch: string // 批次
  inboundBatch: string // 批次
  productValidityDate: Date // 有效期
  count: string // 库存数量
  productBatchList: string[] // 批次列表
  inboundBatchList: string[] // 批次列表
}

// ERP 一级库库存 API
export const PriStockApi = {
  // 查询ERP 一级库库存分页
  getPriStockPage: async (params: any) => {
    return await request.get({ url: `/erp/pri-stock/page`, params })
  },

  // 查询ERP 一级库库存详情
  getPriStock: async (id: number) => {
    return await request.get({ url: `/erp/pri-stock/get?id=` + id })
  },

  getStandardsByProductName: async (productName: string,deptId : number) => {
        return await request.get({ url: `/erp/pri-stock/getStandardsByProductName?productName=${productName}&deptId=${deptId}`})
  },

  // 查询ERP 一级库商品列表
  getIds: async (deptId? : number) => {
        return await request.get({ url: `/erp/pri-stock/getIds?deptId=` + deptId })
      },

  // 查询ERP 一级库批次列表
  getProductBatchsByProductId: async (productId: string) => {
    return await request.get({ 
      url: `/erp/pri-stock/getProductBatchsByProductId?productId=${productId}` 
    })
  },

   // 查询ERP 一级库批次列表
   getInboundBatchsByProductId: async (productId: string,productBatch: string) => {
    return await request.get({ 
      url: `/erp/pri-stock/getInboundBatchsByProductId?productId=${productId}&productBatch=${productBatch}` 
    })
  },

  // 查询ERP 一级库商品id列表
  getProductIds: async (deptId? : number) => {
    return await request.get({ url: `/erp/pri-stock/getProductIds?deptId=` + deptId })
  },

  // 查询ERP 根据商品id和批次查询库存信息
  getProductByBatch: async (productId: string, productBatch: string) => {
    return await request.get({ 
      url: `/erp/pri-stock/getProductByBatch?productId=${productId}&productBatch=${productBatch}` 
    });
  },

  // 查询ERP 一级库库存详情
  getPriStockList: async (deptId? : number) => {
    return await request.get({ url: `/erp/pri-stock/getList?deptId=` + deptId})
  },

  // 查询ERP 一级库库存详情
  getPriStockListByBatch: async () => {
    return await request.get({ url: `/erp/pri-stock/getListByBatch?`})
  },


  // 新增ERP 一级库库存
  createPriStock: async (data: PriStockVO) => {
    return await request.post({ url: `/erp/pri-stock/create`, data })
  },
  inupdate: async (data: PriStockVO) => {
    return await request.post({ url: `/erp/pri-stock/inupdate`, data })
  },

  // 修改ERP 一级库库存
  updatePriStock: async (data: PriStockVO) => {
    return await request.put({ url: `/erp/pri-stock/update`, data })
  },
  updatePriStocks: async (data: PriStockVO) => {
    return await request.put({ url: `/erp/pri-stock/updates`, data })
  },
  updatePriStockdelect: async (data) => {
    return await request.put({ url: `/erp/pri-stock/updatesdelect`, data })
  },
  // 删除ERP 一级库库存
  deletePriStock: async (id: number) => {
    return await request.delete({ url: `/erp/pri-stock/delete?id=` + id })
  },

  // 导出ERP 一级库库存 Excel
  exportPriStock: async (params) => {
    return await request.download({ url: `/erp/pri-stock/export-excel`, params })
  },
}